`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2025/06/23 19:20:39
// Design Name: 
// Module Name: adder_subtractor
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module adder_subtractor (
    input [2:0] A,        // 3位输入A
    input [2:0] B,        // 3位输入B
    input Op_switch,      // 运算选择开关: 0表示加法，1表示减法
    output reg [3:0] seg, // 数码管输出（显示个位）
    output reg LED        // LED输出（显示十位）
);

   
    reg [3:0] Result;      
reg [6:0] full_result; 
reg [6:0] full_result_1;        // 支持 0~99
reg [3:0] ones_place, tens_place;
integer temp; 
    
    
    always @(*) begin
        if (Op_switch == 0) begin
            full_result = A + B;
        end else begin
            full_result = A - B;
        end
    end

    always @(*) 
    begin
        tens_place = 0;
        
    if (full_result >= 10) 
        full_result_1 = full_result - 10;
        tens_place =  1;
    
    ones_place = full_result_1;

        if (Op_switch == 0) 
        begin

            LED = tens_place;  
        end else begin

            LED = 4'b0000;
        end
    end

    // 提取个位（数码管显示）
    always @(*) begin
        seg = ones_place; // 直接传递给数码管显示个位
    end

endmodule
